package cn.hengzhu.main_manager.repository.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class ManageCaseBoxExample {
    /**
     *
     * @mbg.generated
     */
    protected String orderByClause;

    /**
     *
     * @mbg.generated
     */
    protected boolean distinct;

    /**
     *
     * @mbg.generated
     */
    protected List<Criteria> oredCriteria;

    /**
     *
     * @mbg.generated
     */
    public ManageCaseBoxExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     *
     * @mbg.generated
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /**
     *
     * @mbg.generated
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /**
     *
     * @mbg.generated
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     *
     * @mbg.generated
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     *
     * @mbg.generated
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     *
     * @mbg.generated
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     *
     * @mbg.generated
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     *
     * @mbg.generated
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /**
     *
     * @mbg.generated
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     *
     * @mbg.generated
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     *
     * @mbg.generated
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCaseNoIsNull() {
            addCriterion("CASE_NO is null");
            return (Criteria) this;
        }

        public Criteria andCaseNoIsNotNull() {
            addCriterion("CASE_NO is not null");
            return (Criteria) this;
        }

        public Criteria andCaseNoEqualTo(String value) {
            addCriterion("CASE_NO =", value, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseNoNotEqualTo(String value) {
            addCriterion("CASE_NO <>", value, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseNoGreaterThan(String value) {
            addCriterion("CASE_NO >", value, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseNoGreaterThanOrEqualTo(String value) {
            addCriterion("CASE_NO >=", value, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseNoLessThan(String value) {
            addCriterion("CASE_NO <", value, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseNoLessThanOrEqualTo(String value) {
            addCriterion("CASE_NO <=", value, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseNoLike(String value) {
            addCriterion("CASE_NO like", value, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseNoNotLike(String value) {
            addCriterion("CASE_NO not like", value, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseNoIn(List<String> values) {
            addCriterion("CASE_NO in", values, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseNoNotIn(List<String> values) {
            addCriterion("CASE_NO not in", values, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseNoBetween(String value1, String value2) {
            addCriterion("CASE_NO between", value1, value2, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseNoNotBetween(String value1, String value2) {
            addCriterion("CASE_NO not between", value1, value2, "caseNo");
            return (Criteria) this;
        }

        public Criteria andCaseTypePriceIdEqualTo(String value1) {
            addCriterion("caseTypePriceId = ", value1, "caseTypePriceId");
            return (Criteria) this;
        }


        public Criteria andSwitchStatusIsNull() {
            addCriterion("SWITCH_STATUS is null");
            return (Criteria) this;
        }

        public Criteria andSwitchStatusIsNotNull() {
            addCriterion("SWITCH_STATUS is not null");
            return (Criteria) this;
        }

        public Criteria andSwitchStatusEqualTo(Byte value) {
            addCriterion("SWITCH_STATUS =", value, "switchStatus");
            return (Criteria) this;
        }

        public Criteria andSwitchStatusNotEqualTo(Byte value) {
            addCriterion("SWITCH_STATUS <>", value, "switchStatus");
            return (Criteria) this;
        }

        public Criteria andSwitchStatusGreaterThan(Byte value) {
            addCriterion("SWITCH_STATUS >", value, "switchStatus");
            return (Criteria) this;
        }

        public Criteria andSwitchStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("SWITCH_STATUS >=", value, "switchStatus");
            return (Criteria) this;
        }

        public Criteria andSwitchStatusLessThan(Byte value) {
            addCriterion("SWITCH_STATUS <", value, "switchStatus");
            return (Criteria) this;
        }

        public Criteria andSwitchStatusLessThanOrEqualTo(Byte value) {
            addCriterion("SWITCH_STATUS <=", value, "switchStatus");
            return (Criteria) this;
        }

        public Criteria andSwitchStatusIn(List<Byte> values) {
            addCriterion("SWITCH_STATUS in", values, "switchStatus");
            return (Criteria) this;
        }

        public Criteria andSwitchStatusNotIn(List<Byte> values) {
            addCriterion("SWITCH_STATUS not in", values, "switchStatus");
            return (Criteria) this;
        }

        public Criteria andSwitchStatusBetween(Byte value1, Byte value2) {
            addCriterion("SWITCH_STATUS between", value1, value2, "switchStatus");
            return (Criteria) this;
        }

        public Criteria andSwitchStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("SWITCH_STATUS not between", value1, value2, "switchStatus");
            return (Criteria) this;
        }

        public Criteria andUseStatusIsNull() {
            addCriterion("USE_STATUS is null");
            return (Criteria) this;
        }

        public Criteria andUseStatusIsNotNull() {
            addCriterion("USE_STATUS is not null");
            return (Criteria) this;
        }

        public Criteria andUseStatusEqualTo(Byte value) {
            addCriterion("USE_STATUS =", value, "useStatus");
            return (Criteria) this;
        }

        public Criteria andUseStatusNotEqualTo(Byte value) {
            addCriterion("USE_STATUS <>", value, "useStatus");
            return (Criteria) this;
        }

        public Criteria andUseStatusGreaterThan(Byte value) {
            addCriterion("USE_STATUS >", value, "useStatus");
            return (Criteria) this;
        }

        public Criteria andUseStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("USE_STATUS >=", value, "useStatus");
            return (Criteria) this;
        }

        public Criteria andUseStatusLessThan(Byte value) {
            addCriterion("USE_STATUS <", value, "useStatus");
            return (Criteria) this;
        }

        public Criteria andUseStatusLessThanOrEqualTo(Byte value) {
            addCriterion("USE_STATUS <=", value, "useStatus");
            return (Criteria) this;
        }

        public Criteria andUseStatusIn(List<Byte> values) {
            addCriterion("USE_STATUS in", values, "useStatus");
            return (Criteria) this;
        }

        public Criteria andUseStatusNotIn(List<Byte> values) {
            addCriterion("USE_STATUS not in", values, "useStatus");
            return (Criteria) this;
        }

        public Criteria andUseStatusBetween(Byte value1, Byte value2) {
            addCriterion("USE_STATUS between", value1, value2, "useStatus");
            return (Criteria) this;
        }

        public Criteria andUseStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("USE_STATUS not between", value1, value2, "useStatus");
            return (Criteria) this;
        }

        public Criteria andSaveTimeIsNull() {
            addCriterion("SAVE_TIME is null");
            return (Criteria) this;
        }

        public Criteria andSaveTimeIsNotNull() {
            addCriterion("SAVE_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andSaveTimeEqualTo(Date value) {
            addCriterion("SAVE_TIME =", value, "saveTime");
            return (Criteria) this;
        }

        public Criteria andSaveTimeNotEqualTo(Date value) {
            addCriterion("SAVE_TIME <>", value, "saveTime");
            return (Criteria) this;
        }

        public Criteria andSaveTimeGreaterThan(Date value) {
            addCriterion("SAVE_TIME >", value, "saveTime");
            return (Criteria) this;
        }

        public Criteria andSaveTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("SAVE_TIME >=", value, "saveTime");
            return (Criteria) this;
        }

        public Criteria andSaveTimeLessThan(Date value) {
            addCriterion("SAVE_TIME <", value, "saveTime");
            return (Criteria) this;
        }

        public Criteria andSaveTimeLessThanOrEqualTo(Date value) {
            addCriterion("SAVE_TIME <=", value, "saveTime");
            return (Criteria) this;
        }

        public Criteria andSaveTimeIn(List<Date> values) {
            addCriterion("SAVE_TIME in", values, "saveTime");
            return (Criteria) this;
        }

        public Criteria andSaveTimeNotIn(List<Date> values) {
            addCriterion("SAVE_TIME not in", values, "saveTime");
            return (Criteria) this;
        }

        public Criteria andSaveTimeBetween(Date value1, Date value2) {
            addCriterion("SAVE_TIME between", value1, value2, "saveTime");
            return (Criteria) this;
        }

        public Criteria andSaveTimeNotBetween(Date value1, Date value2) {
            addCriterion("SAVE_TIME not between", value1, value2, "saveTime");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("USER_ID is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("USER_ID is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(String value) {
            addCriterion("USER_ID =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(String value) {
            addCriterion("USER_ID <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(String value) {
            addCriterion("USER_ID >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("USER_ID >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(String value) {
            addCriterion("USER_ID <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(String value) {
            addCriterion("USER_ID <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLike(String value) {
            addCriterion("USER_ID like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotLike(String value) {
            addCriterion("USER_ID not like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<String> values) {
            addCriterion("USER_ID in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<String> values) {
            addCriterion("USER_ID not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(String value1, String value2) {
            addCriterion("USER_ID between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(String value1, String value2) {
            addCriterion("USER_ID not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andIsConnIsNull() {
            addCriterion("IS_CONN is null");
            return (Criteria) this;
        }

        public Criteria andIsConnIsNotNull() {
            addCriterion("IS_CONN is not null");
            return (Criteria) this;
        }

        public Criteria andIsConnEqualTo(Byte value) {
            addCriterion("IS_CONN =", value, "isConn");
            return (Criteria) this;
        }

        public Criteria andIsConnNotEqualTo(Byte value) {
            addCriterion("IS_CONN <>", value, "isConn");
            return (Criteria) this;
        }

        public Criteria andIsConnGreaterThan(Byte value) {
            addCriterion("IS_CONN >", value, "isConn");
            return (Criteria) this;
        }

        public Criteria andIsConnGreaterThanOrEqualTo(Byte value) {
            addCriterion("IS_CONN >=", value, "isConn");
            return (Criteria) this;
        }

        public Criteria andIsConnLessThan(Byte value) {
            addCriterion("IS_CONN <", value, "isConn");
            return (Criteria) this;
        }

        public Criteria andIsConnLessThanOrEqualTo(Byte value) {
            addCriterion("IS_CONN <=", value, "isConn");
            return (Criteria) this;
        }

        public Criteria andIsConnIn(List<Byte> values) {
            addCriterion("IS_CONN in", values, "isConn");
            return (Criteria) this;
        }

        public Criteria andIsConnNotIn(List<Byte> values) {
            addCriterion("IS_CONN not in", values, "isConn");
            return (Criteria) this;
        }

        public Criteria andIsConnBetween(Byte value1, Byte value2) {
            addCriterion("IS_CONN between", value1, value2, "isConn");
            return (Criteria) this;
        }

        public Criteria andIsConnNotBetween(Byte value1, Byte value2) {
            addCriterion("IS_CONN not between", value1, value2, "isConn");
            return (Criteria) this;
        }

        public Criteria andIsLockedIsNull() {
            addCriterion("IS_LOCKED is null");
            return (Criteria) this;
        }

        public Criteria andIsLockedIsNotNull() {
            addCriterion("IS_LOCKED is not null");
            return (Criteria) this;
        }

        public Criteria andIsLockedEqualTo(Byte value) {
            addCriterion("IS_LOCKED =", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedNotEqualTo(Byte value) {
            addCriterion("IS_LOCKED <>", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedGreaterThan(Byte value) {
            addCriterion("IS_LOCKED >", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedGreaterThanOrEqualTo(Byte value) {
            addCriterion("IS_LOCKED >=", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedLessThan(Byte value) {
            addCriterion("IS_LOCKED <", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedLessThanOrEqualTo(Byte value) {
            addCriterion("IS_LOCKED <=", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedIn(List<Byte> values) {
            addCriterion("IS_LOCKED in", values, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedNotIn(List<Byte> values) {
            addCriterion("IS_LOCKED not in", values, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedBetween(Byte value1, Byte value2) {
            addCriterion("IS_LOCKED between", value1, value2, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedNotBetween(Byte value1, Byte value2) {
            addCriterion("IS_LOCKED not between", value1, value2, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsDelIsNull() {
            addCriterion("IS_DEL is null");
            return (Criteria) this;
        }

        public Criteria andIsDelIsNotNull() {
            addCriterion("IS_DEL is not null");
            return (Criteria) this;
        }

        public Criteria andIsDelEqualTo(Byte value) {
            addCriterion("IS_DEL =", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelNotEqualTo(Byte value) {
            addCriterion("IS_DEL <>", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelGreaterThan(Byte value) {
            addCriterion("IS_DEL >", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelGreaterThanOrEqualTo(Byte value) {
            addCriterion("IS_DEL >=", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelLessThan(Byte value) {
            addCriterion("IS_DEL <", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelLessThanOrEqualTo(Byte value) {
            addCriterion("IS_DEL <=", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelIn(List<Byte> values) {
            addCriterion("IS_DEL in", values, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelNotIn(List<Byte> values) {
            addCriterion("IS_DEL not in", values, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelBetween(Byte value1, Byte value2) {
            addCriterion("IS_DEL between", value1, value2, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelNotBetween(Byte value1, Byte value2) {
            addCriterion("IS_DEL not between", value1, value2, "isDel");
            return (Criteria) this;
        }

        public Criteria andDoorNumIsNull() {
            addCriterion("DOOR_NUM is null");
            return (Criteria) this;
        }

        public Criteria andDoorNumIsNotNull() {
            addCriterion("DOOR_NUM is not null");
            return (Criteria) this;
        }

        public Criteria andDoorNumEqualTo(Integer value) {
            addCriterion("DOOR_NUM =", value, "doorNum");
            return (Criteria) this;
        }

        public Criteria andDoorNumNotEqualTo(Integer value) {
            addCriterion("DOOR_NUM <>", value, "doorNum");
            return (Criteria) this;
        }

        public Criteria andDoorNumGreaterThan(Integer value) {
            addCriterion("DOOR_NUM >", value, "doorNum");
            return (Criteria) this;
        }

        public Criteria andDoorNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("DOOR_NUM >=", value, "doorNum");
            return (Criteria) this;
        }

        public Criteria andDoorNumLessThan(Integer value) {
            addCriterion("DOOR_NUM <", value, "doorNum");
            return (Criteria) this;
        }

        public Criteria andDoorNumLessThanOrEqualTo(Integer value) {
            addCriterion("DOOR_NUM <=", value, "doorNum");
            return (Criteria) this;
        }

        public Criteria andDoorNumIn(List<Integer> values) {
            addCriterion("DOOR_NUM in", values, "doorNum");
            return (Criteria) this;
        }

        public Criteria andDoorNumNotIn(List<Integer> values) {
            addCriterion("DOOR_NUM not in", values, "doorNum");
            return (Criteria) this;
        }

        public Criteria andDoorNumBetween(Integer value1, Integer value2) {
            addCriterion("DOOR_NUM between", value1, value2, "doorNum");
            return (Criteria) this;
        }

        public Criteria andDoorNumNotBetween(Integer value1, Integer value2) {
            addCriterion("DOOR_NUM not between", value1, value2, "doorNum");
            return (Criteria) this;
        }

        public Criteria andSaveSourceIsNull() {
            addCriterion("SAVE_SOURCE is null");
            return (Criteria) this;
        }

        public Criteria andSaveSourceIsNotNull() {
            addCriterion("SAVE_SOURCE is not null");
            return (Criteria) this;
        }

        public Criteria andSaveSourceEqualTo(Byte value) {
            addCriterion("SAVE_SOURCE =", value, "saveSource");
            return (Criteria) this;
        }

        public Criteria andSaveSourceNotEqualTo(Byte value) {
            addCriterion("SAVE_SOURCE <>", value, "saveSource");
            return (Criteria) this;
        }

        public Criteria andSaveSourceGreaterThan(Byte value) {
            addCriterion("SAVE_SOURCE >", value, "saveSource");
            return (Criteria) this;
        }

        public Criteria andSaveSourceGreaterThanOrEqualTo(Byte value) {
            addCriterion("SAVE_SOURCE >=", value, "saveSource");
            return (Criteria) this;
        }

        public Criteria andSaveSourceLessThan(Byte value) {
            addCriterion("SAVE_SOURCE <", value, "saveSource");
            return (Criteria) this;
        }

        public Criteria andSaveSourceLessThanOrEqualTo(Byte value) {
            addCriterion("SAVE_SOURCE <=", value, "saveSource");
            return (Criteria) this;
        }

        public Criteria andSaveSourceIn(List<Byte> values) {
            addCriterion("SAVE_SOURCE in", values, "saveSource");
            return (Criteria) this;
        }

        public Criteria andSaveSourceNotIn(List<Byte> values) {
            addCriterion("SAVE_SOURCE not in", values, "saveSource");
            return (Criteria) this;
        }

        public Criteria andSaveSourceBetween(Byte value1, Byte value2) {
            addCriterion("SAVE_SOURCE between", value1, value2, "saveSource");
            return (Criteria) this;
        }

        public Criteria andSaveSourceNotBetween(Byte value1, Byte value2) {
            addCriterion("SAVE_SOURCE not between", value1, value2, "saveSource");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("CREATE_TIME is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("CREATE_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("CREATE_TIME =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("CREATE_TIME <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("CREATE_TIME >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("CREATE_TIME >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("CREATE_TIME <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("CREATE_TIME <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("CREATE_TIME in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("CREATE_TIME not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("CREATE_TIME between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("CREATE_TIME not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andVersionIsNull() {
            addCriterion("VERSION is null");
            return (Criteria) this;
        }

        public Criteria andVersionIsNotNull() {
            addCriterion("VERSION is not null");
            return (Criteria) this;
        }

        public Criteria andVersionEqualTo(Integer value) {
            addCriterion("VERSION =", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotEqualTo(Integer value) {
            addCriterion("VERSION <>", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThan(Integer value) {
            addCriterion("VERSION >", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThanOrEqualTo(Integer value) {
            addCriterion("VERSION >=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThan(Integer value) {
            addCriterion("VERSION <", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThanOrEqualTo(Integer value) {
            addCriterion("VERSION <=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionIn(List<Integer> values) {
            addCriterion("VERSION in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotIn(List<Integer> values) {
            addCriterion("VERSION not in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionBetween(Integer value1, Integer value2) {
            addCriterion("VERSION between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotBetween(Integer value1, Integer value2) {
            addCriterion("VERSION not between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateIsNull() {
            addCriterion("SEND_MESSAGE_DATE is null");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateIsNotNull() {
            addCriterion("SEND_MESSAGE_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateEqualTo(Date value) {
            addCriterionForJDBCDate("SEND_MESSAGE_DATE =", value, "sendMessageDate");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("SEND_MESSAGE_DATE <>", value, "sendMessageDate");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateGreaterThan(Date value) {
            addCriterionForJDBCDate("SEND_MESSAGE_DATE >", value, "sendMessageDate");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("SEND_MESSAGE_DATE >=", value, "sendMessageDate");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateLessThan(Date value) {
            addCriterionForJDBCDate("SEND_MESSAGE_DATE <", value, "sendMessageDate");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("SEND_MESSAGE_DATE <=", value, "sendMessageDate");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateIn(List<Date> values) {
            addCriterionForJDBCDate("SEND_MESSAGE_DATE in", values, "sendMessageDate");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("SEND_MESSAGE_DATE not in", values, "sendMessageDate");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("SEND_MESSAGE_DATE between", value1, value2, "sendMessageDate");
            return (Criteria) this;
        }

        public Criteria andSendMessageDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("SEND_MESSAGE_DATE not between", value1, value2, "sendMessageDate");
            return (Criteria) this;
        }

        public Criteria andSizeIsNull() {
            addCriterion("SIZE is null");
            return (Criteria) this;
        }

        public Criteria andSizeIsNotNull() {
            addCriterion("SIZE is not null");
            return (Criteria) this;
        }

        public Criteria andSizeEqualTo(Byte value) {
            addCriterion("SIZE =", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotEqualTo(Byte value) {
            addCriterion("SIZE <>", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeGreaterThan(Byte value) {
            addCriterion("SIZE >", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeGreaterThanOrEqualTo(Byte value) {
            addCriterion("SIZE >=", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeLessThan(Byte value) {
            addCriterion("SIZE <", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeLessThanOrEqualTo(Byte value) {
            addCriterion("SIZE <=", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeIn(List<Byte> values) {
            addCriterion("SIZE in", values, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotIn(List<Byte> values) {
            addCriterion("SIZE not in", values, "size");
            return (Criteria) this;
        }

        public Criteria andSizeBetween(Byte value1, Byte value2) {
            addCriterion("SIZE between", value1, value2, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotBetween(Byte value1, Byte value2) {
            addCriterion("SIZE not between", value1, value2, "size");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceIsNull() {
            addCriterion("GOODS_PRICE is null");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceIsNotNull() {
            addCriterion("GOODS_PRICE is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceEqualTo(String value) {
            addCriterion("GOODS_PRICE =", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceNotEqualTo(String value) {
            addCriterion("GOODS_PRICE <>", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceGreaterThan(String value) {
            addCriterion("GOODS_PRICE >", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceGreaterThanOrEqualTo(String value) {
            addCriterion("GOODS_PRICE >=", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceLessThan(String value) {
            addCriterion("GOODS_PRICE <", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceLessThanOrEqualTo(String value) {
            addCriterion("GOODS_PRICE <=", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceLike(String value) {
            addCriterion("GOODS_PRICE like", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceNotLike(String value) {
            addCriterion("GOODS_PRICE not like", value, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceIn(List<String> values) {
            addCriterion("GOODS_PRICE in", values, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceNotIn(List<String> values) {
            addCriterion("GOODS_PRICE not in", values, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceBetween(String value1, String value2) {
            addCriterion("GOODS_PRICE between", value1, value2, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andGoodsPriceNotBetween(String value1, String value2) {
            addCriterion("GOODS_PRICE not between", value1, value2, "goodsPrice");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagIsNull() {
            addCriterion("SEND_XCX_MESSAGE_FLAG is null");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagIsNotNull() {
            addCriterion("SEND_XCX_MESSAGE_FLAG is not null");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagEqualTo(Byte value) {
            addCriterion("SEND_XCX_MESSAGE_FLAG =", value, "sendXcxMessageFlag");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagNotEqualTo(Byte value) {
            addCriterion("SEND_XCX_MESSAGE_FLAG <>", value, "sendXcxMessageFlag");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagGreaterThan(Byte value) {
            addCriterion("SEND_XCX_MESSAGE_FLAG >", value, "sendXcxMessageFlag");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagGreaterThanOrEqualTo(Byte value) {
            addCriterion("SEND_XCX_MESSAGE_FLAG >=", value, "sendXcxMessageFlag");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagLessThan(Byte value) {
            addCriterion("SEND_XCX_MESSAGE_FLAG <", value, "sendXcxMessageFlag");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagLessThanOrEqualTo(Byte value) {
            addCriterion("SEND_XCX_MESSAGE_FLAG <=", value, "sendXcxMessageFlag");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagIn(List<Byte> values) {
            addCriterion("SEND_XCX_MESSAGE_FLAG in", values, "sendXcxMessageFlag");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagNotIn(List<Byte> values) {
            addCriterion("SEND_XCX_MESSAGE_FLAG not in", values, "sendXcxMessageFlag");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagBetween(Byte value1, Byte value2) {
            addCriterion("SEND_XCX_MESSAGE_FLAG between", value1, value2, "sendXcxMessageFlag");
            return (Criteria) this;
        }

        public Criteria andSendXcxMessageFlagNotBetween(Byte value1, Byte value2) {
            addCriterion("SEND_XCX_MESSAGE_FLAG not between", value1, value2, "sendXcxMessageFlag");
            return (Criteria) this;
        }

        public Criteria andPrepayIdIsNull() {
            addCriterion("PREPAY_ID is null");
            return (Criteria) this;
        }

        public Criteria andPrepayIdIsNotNull() {
            addCriterion("PREPAY_ID is not null");
            return (Criteria) this;
        }

        public Criteria andPrepayIdEqualTo(String value) {
            addCriterion("PREPAY_ID =", value, "prepayId");
            return (Criteria) this;
        }

        public Criteria andPrepayIdNotEqualTo(String value) {
            addCriterion("PREPAY_ID <>", value, "prepayId");
            return (Criteria) this;
        }

        public Criteria andPrepayIdGreaterThan(String value) {
            addCriterion("PREPAY_ID >", value, "prepayId");
            return (Criteria) this;
        }

        public Criteria andPrepayIdGreaterThanOrEqualTo(String value) {
            addCriterion("PREPAY_ID >=", value, "prepayId");
            return (Criteria) this;
        }

        public Criteria andPrepayIdLessThan(String value) {
            addCriterion("PREPAY_ID <", value, "prepayId");
            return (Criteria) this;
        }

        public Criteria andPrepayIdLessThanOrEqualTo(String value) {
            addCriterion("PREPAY_ID <=", value, "prepayId");
            return (Criteria) this;
        }

        public Criteria andPrepayIdLike(String value) {
            addCriterion("PREPAY_ID like", value, "prepayId");
            return (Criteria) this;
        }

        public Criteria andPrepayIdNotLike(String value) {
            addCriterion("PREPAY_ID not like", value, "prepayId");
            return (Criteria) this;
        }

        public Criteria andPrepayIdIn(List<String> values) {
            addCriterion("PREPAY_ID in", values, "prepayId");
            return (Criteria) this;
        }

        public Criteria andPrepayIdNotIn(List<String> values) {
            addCriterion("PREPAY_ID not in", values, "prepayId");
            return (Criteria) this;
        }

        public Criteria andPrepayIdBetween(String value1, String value2) {
            addCriterion("PREPAY_ID between", value1, value2, "prepayId");
            return (Criteria) this;
        }

        public Criteria andPrepayIdNotBetween(String value1, String value2) {
            addCriterion("PREPAY_ID not between", value1, value2, "prepayId");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeIsNull() {
            addCriterion("CLEAR_BOX_TIME is null");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeIsNotNull() {
            addCriterion("CLEAR_BOX_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeEqualTo(Date value) {
            addCriterion("CLEAR_BOX_TIME =", value, "clearBoxTime");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeNotEqualTo(Date value) {
            addCriterion("CLEAR_BOX_TIME <>", value, "clearBoxTime");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeGreaterThan(Date value) {
            addCriterion("CLEAR_BOX_TIME >", value, "clearBoxTime");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("CLEAR_BOX_TIME >=", value, "clearBoxTime");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeLessThan(Date value) {
            addCriterion("CLEAR_BOX_TIME <", value, "clearBoxTime");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeLessThanOrEqualTo(Date value) {
            addCriterion("CLEAR_BOX_TIME <=", value, "clearBoxTime");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeIn(List<Date> values) {
            addCriterion("CLEAR_BOX_TIME in", values, "clearBoxTime");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeNotIn(List<Date> values) {
            addCriterion("CLEAR_BOX_TIME not in", values, "clearBoxTime");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeBetween(Date value1, Date value2) {
            addCriterion("CLEAR_BOX_TIME between", value1, value2, "clearBoxTime");
            return (Criteria) this;
        }

        public Criteria andClearBoxTimeNotBetween(Date value1, Date value2) {
            addCriterion("CLEAR_BOX_TIME not between", value1, value2, "clearBoxTime");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeIsNull() {
            addCriterion("SEND_CLEAR_MESSAGE_TIME is null");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeIsNotNull() {
            addCriterion("SEND_CLEAR_MESSAGE_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeEqualTo(Date value) {
            addCriterion("SEND_CLEAR_MESSAGE_TIME =", value, "sendClearMessageTime");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeNotEqualTo(Date value) {
            addCriterion("SEND_CLEAR_MESSAGE_TIME <>", value, "sendClearMessageTime");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeGreaterThan(Date value) {
            addCriterion("SEND_CLEAR_MESSAGE_TIME >", value, "sendClearMessageTime");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("SEND_CLEAR_MESSAGE_TIME >=", value, "sendClearMessageTime");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeLessThan(Date value) {
            addCriterion("SEND_CLEAR_MESSAGE_TIME <", value, "sendClearMessageTime");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeLessThanOrEqualTo(Date value) {
            addCriterion("SEND_CLEAR_MESSAGE_TIME <=", value, "sendClearMessageTime");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeIn(List<Date> values) {
            addCriterion("SEND_CLEAR_MESSAGE_TIME in", values, "sendClearMessageTime");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeNotIn(List<Date> values) {
            addCriterion("SEND_CLEAR_MESSAGE_TIME not in", values, "sendClearMessageTime");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeBetween(Date value1, Date value2) {
            addCriterion("SEND_CLEAR_MESSAGE_TIME between", value1, value2, "sendClearMessageTime");
            return (Criteria) this;
        }

        public Criteria andSendClearMessageTimeNotBetween(Date value1, Date value2) {
            addCriterion("SEND_CLEAR_MESSAGE_TIME not between", value1, value2, "sendClearMessageTime");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNull() {
            addCriterion("PASSWORD is null");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNotNull() {
            addCriterion("PASSWORD is not null");
            return (Criteria) this;
        }

        public Criteria andPasswordEqualTo(String value) {
            addCriterion("PASSWORD =", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotEqualTo(String value) {
            addCriterion("PASSWORD <>", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThan(String value) {
            addCriterion("PASSWORD >", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("PASSWORD >=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThan(String value) {
            addCriterion("PASSWORD <", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThanOrEqualTo(String value) {
            addCriterion("PASSWORD <=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLike(String value) {
            addCriterion("PASSWORD like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotLike(String value) {
            addCriterion("PASSWORD not like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordIn(List<String> values) {
            addCriterion("PASSWORD in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotIn(List<String> values) {
            addCriterion("PASSWORD not in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordBetween(String value1, String value2) {
            addCriterion("PASSWORD between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotBetween(String value1, String value2) {
            addCriterion("PASSWORD not between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenIsNull() {
            addCriterion("IS_HALFWAY_OPEN is null");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenIsNotNull() {
            addCriterion("IS_HALFWAY_OPEN is not null");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenEqualTo(Byte value) {
            addCriterion("IS_HALFWAY_OPEN =", value, "isHalfwayOpen");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenNotEqualTo(Byte value) {
            addCriterion("IS_HALFWAY_OPEN <>", value, "isHalfwayOpen");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenGreaterThan(Byte value) {
            addCriterion("IS_HALFWAY_OPEN >", value, "isHalfwayOpen");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenGreaterThanOrEqualTo(Byte value) {
            addCriterion("IS_HALFWAY_OPEN >=", value, "isHalfwayOpen");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenLessThan(Byte value) {
            addCriterion("IS_HALFWAY_OPEN <", value, "isHalfwayOpen");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenLessThanOrEqualTo(Byte value) {
            addCriterion("IS_HALFWAY_OPEN <=", value, "isHalfwayOpen");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenIn(List<Byte> values) {
            addCriterion("IS_HALFWAY_OPEN in", values, "isHalfwayOpen");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenNotIn(List<Byte> values) {
            addCriterion("IS_HALFWAY_OPEN not in", values, "isHalfwayOpen");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenBetween(Byte value1, Byte value2) {
            addCriterion("IS_HALFWAY_OPEN between", value1, value2, "isHalfwayOpen");
            return (Criteria) this;
        }

        public Criteria andIsHalfwayOpenNotBetween(Byte value1, Byte value2) {
            addCriterion("IS_HALFWAY_OPEN not between", value1, value2, "isHalfwayOpen");
            return (Criteria) this;
        }
    }

    /**
     *
     * @mbg.generated do_not_delete_during_merge
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     *
     * @mbg.generated
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}